
/* 显示第几页 */
function showPage(current, pages) {
    console.log("---call showPage - " + current);
    if(current >= 1 || current <= pages){
        /* 合法的页面值，开始封装查询条件 */
        var queryBean = null;
        /* 发起调用 */
        gameManView(current, queryBean);
    }
}

/* 删除一条设备信息 */
function gameRemove(id) {
    console.log("---call gameRemove");
    // 询问用户确认
    var b = confirm("删除游戏将会删除游戏下的所有游戏数据和用户数据，数据无价，你想好了？");
    if(b){
        /* 发起调用 */
        call(null, source, TYPE_REMOVE, YS_VIEW, id + "", GAME_TASK, token);
    }

    return false;
}

/* 添加游戏页面 */
function gameAddView() {
    console.log("---call gameAddView");
    /* 发起调用 */
    call(null, source, TYPE_ADD_OR_EDIT_VIEW, YS_VIEW, "", GAME_TASK, token);
}

/* 游戏编辑页面 */
function gameEditView(id) {
    console.log("---call gameEditView");
    /* 发起调用 */
    call(null, source, TYPE_ADD_OR_EDIT_VIEW, YS_VIEW, id + "", GAME_TASK, token);
}

/* 增一个字段在配置映射中 */
function gameNewConfigAttribute() {
    var index = parseInt($("input[name = 'configMapAttrCount']").val());
    console.log("---gameNewConfigAttribute " + index);
    var attr = '<div class="form-group">\n' +
        '    <label>字段</label>\n' +
        '    <input name="configMap.key'+ index +'" type="text" class="form-control" placeholder="字段索引键，获取时将以这个键返回数据。"' +
        '        value="">\n' +
        '    <input name="configMap.value'+ index +'.name" type="text" class="form-control" placeholder="字段映射名称，将显示在页面上。"' +
        '        value="">\n' +
        '    <input type="radio" name="configMap.value'+ index +'.limitState" value="false"' +
        '        checked="checked" />无限制\n' +
        '    <input type="radio" name="configMap.value'+ index +'.limitState" value="true"' +
        '        />有限制\n' +
        '    <input type="text" class="form-control" name="configMap.value'+ index +'.gameLimit" placeholder="字段限制值（只有以上设置为有限制才会生效），以Json格式：{&quot;限制值1&quot;：&quot;显示名称1&quot;, &quot;限制值2&quot;：&quot;显示名称2&quot;, ...}，支持中英文符号。"' +
        '        value="">\n'
        '</div>\n';
    // console.log(attr);
    var configMapMain = $('#configMapMain');
    configMapMain.append(attr);
    $("input[name = 'configMapAttrCount']").val(index + 1);
    return false;
}

/* 增一个字段在数据映射中 */
function gameNewDataAttribute() {
    var index = parseInt($("input[name = 'dataMapAttrCount']").val());
    console.log("---gameNewDataAttribute " + index);
    var attr = '<div class="form-group">\n' +
        '    <label>字段</label>\n' +
        '    <input name="dataMap.key'+ index +'" type="text" class="form-control" placeholder="字段索引键，获取和上传时将以这个键为准。"' +
        '        value="">\n' +
        '    <input name="dataMap.value'+ index +'.name" type="text" class="form-control" placeholder="字段映射名称，将显示在页面上。"' +
        '        value="">\n' +
        '    <input type="radio" name="dataMap.value'+ index +'.limitState" value="false"' +
        '        checked="checked" />无限制\n' +
        '    <input type="radio" name="dataMap.value'+ index +'.limitState" value="true"' +
        '        />有限制\n' +
        '    <input type="text" class="form-control" name="dataMap.value'+ index +'.gameLimit" placeholder="字段限制值（只有以上设置为有限制才会生效），以Json格式：{&quot;限制值1&quot;：&quot;显示名称1&quot;, &quot;限制值2&quot;：&quot;显示名称2&quot;, ...}，支持中英文符号。"' +
        '        value="">\n'
        '</div>\n';
    // console.log(attr);
    var dataMapMain = $('#dataMapMain');
    dataMapMain.append(attr);
    $("input[name = 'dataMapAttrCount']").val(index + 1);
    return false;
}

/* 根据游戏名称查看游戏 */
function gameNameSearch() {
    console.log("---call gameNameSearch - ");
    /* 合法的页面值，开始封装查询条件 */
    var queryBean = {};
    queryBean.name = $('#game_name_select').val();
    /* 发起调用 */
    gameManView(1, queryBean);
}

/* 游戏保存或更新 */
function gameSaveOrUpdate() {
    var i = 0;
    var hasLimit = false;
    /* 封装配置映射Json字符串 */
    var configMapJson = '{"map": {';
    var index = parseInt($("input[name = 'configMapAttrCount']").val());
    for(; i < index; i++){
        // console.log("input[name = 'configMap.key"+ i +"']");
        // console.log($("input[name = 'configMap.key"+ i +"']").val());
        var configKey = $("input[name = 'configMap.key"+ i +"']").val();
        if(configKey !== ''){
            parseInt($("input[name = 'configMapAttrCount']").val(index - 1));
            configMapJson += '"' + configKey + '": ';
            configMapJson += '{';
            configMapJson += '"name": "' + $("input[name = 'configMap.value"+ i +".name']").val() + '", ';
            hasLimit = Boolean($("input[name = 'configMap.value"+ i +".limitState']:checked").val() === "true");
            configMapJson += '"limitState": ' + hasLimit;
            if(hasLimit === true){       /* 该字段有限制 */
                configMapJson += ', "limit":' + $("input[name = 'configMap.value"+ i +".gameLimit']").val();
            }
            configMapJson += '}';
            if(i < index - 1) configMapJson += ',';
        }
    }
    configMapJson += '}}';
    /* 配置数据映射Json字符串 */
    var dataMapJson = '{"map": {';
    index = parseInt($("input[name = 'dataMapAttrCount']").val());
    for(i = 0; i < index; i++){
        var dataKey = $("input[name = 'dataMap.key"+ i +"']").val();
        if(dataKey !== ''){
            dataMapJson += '"' + dataKey + '": ';
            dataMapJson += '{';
            dataMapJson += '"name": "' + $("input[name = 'dataMap.value"+ i +".name']").val() + '", ';
            hasLimit = Boolean($("input[name = 'dataMap.value"+ i +".limitState']:checked").val() === "true");
            dataMapJson += '"limitState": ' + hasLimit;
            if(hasLimit === true){       /* 该字段有限制 */
                dataMapJson += ', "limit":' + $("input[name = 'dataMap.value"+ i +".gameLimit']").val();
            }
            dataMapJson += '}';
            if(i < index - 1) dataMapJson += ',';
        }
    }
    dataMapJson += '}}';
    /* 封装游戏数据成json */
    var game = {};
    game.id = $("input[name = 'id']").val();
    game.name = $("input[name = 'name']").val();
    game.configMap = configMapJson;
    game.dataMap = dataMapJson;
    console.log(game);

    /* 发起调用 */
    call(null, source, TYPE_ADD_OR_UPDATE, YS_VIEW, JSON.stringify(game), GAME_TASK, token);
    return false;
}




